package com.nttdata.ta.user.service;

import com.nttdata.ta.common.dto.LoginRequest;
import com.nttdata.ta.common.dto.LoginResponse;
import com.nttdata.ta.common.dto.RegisterRequest;
import com.nttdata.ta.common.dto.UserDTO;
import com.nttdata.ta.common.entity.User;

import java.util.List;

public interface UserService {
    
    LoginResponse login(LoginRequest loginRequest);
    
    User register(RegisterRequest registerRequest);
    
    User registerAdmin(RegisterRequest registerRequest);
    
    UserDTO getUserById(Long id);
    
    List<UserDTO> getAllUsers();
    
    UserDTO updateUser(Long id, UserDTO userDTO);
    
    void deleteUser(Long id);
    
    boolean validateToken(String token);
    
    Long getUserIdFromToken(String token);
} 